2016 年终总结

去年 12 月收拾行李来到北京,到现在刚好一整年的样子。

刚到公司的时候是一边学习 Python 一边维护移动端 API 项目,主要是修修 Bug、加接口、调 RPC,还算游刃有余。慢慢熟悉了公司整体的技术架构以后开始独立负责或参与一些其他更有挑战的项目。

值乎 & Live

比如开始给自己挖坑,重构了一把 wechat 项目,设计了一个复杂的插件化框架。将所有的功能模块全部独立开来,每个功能模块都是一个插件包,能方便新加和下线某个功能,还设计了一种依赖注入机制来解决插件间数据交换的问题等等等。

三月的 Hackathon 上值乎项目获奖后,决定要在愚人节的时候把值乎搞上线,可值乎后端是作为一个插件写在 wechat 项目里的。算起来 wechat 项目的插件加载方式和依赖比较奇怪,也不能很好地跟现有的测试框架兼容,只能把测试都注释了才能走通部署流程。然后因为用了比较多的面对对象的特性,导致抽象是够了但缓存不好加,访问量上去以后数据库扛不住,接口变得巨慢。而且也因为没有测试,本地只能跑起来简单看看,很多问题只能到线上才能发现。导致那天平台组都问我为什么我一直在上线,没好意思说我是在线上测试…

到后来公司开始重视值乎以后成立了专门的项目组,代码库也从 wechat 抽出来重写了,后续值乎项目我也没深度参与了。当然这些 wechat 设计上的坑我后来还是去填了一些,去掉了一些冗余的设计,换掉了 ORM,测试也全加上了,现在用起来问题不大了。

Live 项目也是三月尾开始的,工期也特别紧,要求项目能在五一上线。一个月出头的时间要求后端稳定下来,并跟客户端联调测试达到上线的要求,压力还是有点大。基本上四月一整个月都在加班,天天到凌晨回家,周末大部分时候也在加班,累惨了。不过总算是在四月尾勉强达到了上线测试的要求,然后将项目转交给同事就回学校准备毕业了。

加班太多了整个人都感觉不好,脑子整体混混沌沌的,也没法集中精力思考。每天起床就开始干活,到下班只想睡觉,什么都不想做。现在我对加班都有些阴影,不过好在除了那段时间项目赶工期,别的时候倒也没加过班了。

移动网络优化 & 消息推送

到下半年正式入职以后我的职责又有些变化,更聚焦移动相关的技术了。

比如开始研究的就是移动网络优化,期望能在网络层面优化 App 的使用体验。我是野路子程序员,对网络协议的了解非常粗浅,这个时候就很明显地看到自己的短板了。好在领导也没给太多压力,给了我比较充足的时间去学习协议的细节,所以我花了很多时间来补 TCP、HTTP、HTTPS、HTTP2 等等相关的协议知识。关于针对移动网络的一些优化要点,之后有空的话再分享。

但仅仅了解还是不够,等最后测试并得到一些结论了以后,要想办法把想法和结论落地啊。我们打算构建一个跨平台的网络库来解决,最后打算将 Chromium 中的网络栈代码抽离出来打包成库给客户端使用,实际上蘑菇街已经这样在做了。说起来挺简单的,但整个过程对我而言非常痛苦,海量的 C++ 代码让我直接懵逼… 已经打算明年来补 C/C++ 和 Unix 下的网络编程了,希望明年能跟上节奏。

消息推送系统是另一个在做项目,为的是提升推送性能和灵活性。这个项目上我们花了非常多的时间来构思如何构建一个稳健、可拓展、松耦合的系统,这个时候思考的不仅仅是满足当前的需求了,难的是怎么去划分子模块和考虑满足未来可能会增加需求而不用动大的架构。这段时间我积攒了一些项目设计经验,以后遇到其他的设计需求时应该会轻松一些了。

毕业了

毕业流程走得非常顺利,写了份实习报告答辩完就毕业了。室友没到齐,班内也没组织散伙饭,拿到毕业证就各奔东西了。不过好像也没太多不舍和眷念什么的,大概因为早就知道和同学们不是一路人吧。从开始我就不太合群,很少参加班内的活动,也没特意去搞好寝室关系。大学四年也没认真上过课,上课多是去睡觉、玩手机或者看书,其他时间就自己折腾代码。这么想来,这几年时间倒也没荒废,总算是学了点东西。所以这个大学的意义就在于给了我充足的时间去自己学习吧,也挺好的。

大学中值得庆幸的事就是大二的时候进了番茄土豆团队吧,如果没有遇到他们,想不到我会混成什么样子。本来我挺彷徨的,对未来和学习都没有太多方向,两位老板、一尘大牛、精子和逸川给了我很多帮助,带我入门并给了我很多建议和指导,非常感谢!

北京北京

我租的房子刚好在北五环边上,从窗口看北京的夜景正好。刚到北京的时候我特别喜欢趴在窗口看外面的灯火、车流,那种感觉非常奇妙,甚至有种异样的不真实感。啊,我毕业了,我到北京了。

回想了一下今年的日子过得似乎很单调。一方面是实习工资少房租又太贵,还要攒学费、攒路费回学校等等,日子过得太紧吧,不敢出门。另一方面是每到节假日空气就开始变差,外面浓浓的雾霾简直不敢动,只敢开着空气净化器在家里蹲着打游戏。

明年打算空气好的时候多出去转转,出去骑骑车散散步,多运动运动减减身上长得肉,有空的话做做饭锻炼锻炼厨艺就更好了。